﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace TudienOnline.Admin
{
    public partial class QuanlyTudien : System.Web.UI.Page
    {
        String sCnn = ConfigurationManager.ConnectionStrings["cnTudienOnline"].ToString();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
                napDulieuGvTudien();
        }
        private void napDulieuGvTudien()
        {
            // Khai báo các biến để thao tác với CSDL
            SqlConnection cnQuanlyTudien = null;
            SqlCommand cmQuanlyTudien = null;
            SqlDataAdapter daQuanlyTudien = null;
            try
            {
                // Khởi tạo các đối tượng
                cnQuanlyTudien = new SqlConnection(sCnn);
                cmQuanlyTudien = new SqlCommand("spTudien_getbyID", cnQuanlyTudien);
                cmQuanlyTudien.CommandType = CommandType.StoredProcedure;
                int iTudienID = 0;
                cmQuanlyTudien.Parameters.Add(new SqlParameter("@PK_iTudienID",iTudienID));
                // Khởi tạo DataAdapter để điền dữ liệu vào cho Dataset
                daQuanlyTudien = new SqlDataAdapter(cmQuanlyTudien);
                DataSet dsTudien = new DataSet();
                daQuanlyTudien.Fill(dsTudien);
                if (dsTudien.Tables.Count > 0&&dsTudien.Tables[0].Rows.Count>0)
                {
                    gvTudien.DataSource = dsTudien;
                    gvTudien.DataKeyNames = new string[] {"PK_iTudienID"};
                    gvTudien.DataBind();
                }
            }
            catch (Exception ex)
            {
                lblThongbao.Text = ex.Message;
            }
            finally
            {
                cnQuanlyTudien.Close();
                cnQuanlyTudien.Dispose();
                cmQuanlyTudien.Dispose();
                daQuanlyTudien.Dispose();
            }
        }
        private void napForm(int iTudienID)
        {
            SqlConnection cnQuanlyTudien = null;
            SqlCommand cmQuanlyTudien = null;
            SqlDataAdapter daQuanlyTudien = null;
            try
            {
                // Khởi tạo các đối tượng
                cnQuanlyTudien = new SqlConnection(sCnn);
                cmQuanlyTudien = new SqlCommand("spTudien_getbyID", cnQuanlyTudien);
                cmQuanlyTudien.CommandType = CommandType.StoredProcedure;
                
                cmQuanlyTudien.Parameters.Add(new SqlParameter("@PK_iTudienID", iTudienID));
                // Khởi tạo DataAdapter để điền dữ liệu vào cho Dataset
                daQuanlyTudien = new SqlDataAdapter(cmQuanlyTudien);
                DataSet dsTudien = new DataSet();
                daQuanlyTudien.Fill(dsTudien);
                if (dsTudien.Tables.Count > 0 && dsTudien.Tables[0].Rows.Count > 0)
                {
                    txtTentudien.Text = dsTudien.Tables[0].Rows[0]["sTudien"].ToString();
                    btnLuu.CommandArgument = iTudienID.ToString();
                    btnLuu.CommandName = "EDIT"; // để xác định là đang ở chế độ sửa
                }
            }
            catch (Exception ex)
            {
                lblThongbao.Text = ex.Message;
            }
            finally
            {
                cnQuanlyTudien.Close();
                cnQuanlyTudien.Dispose();
                cmQuanlyTudien.Dispose();
                daQuanlyTudien.Dispose();
            }
        }
        protected void gvTudien_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
        {
            int iTudienID = Convert.ToInt16(gvTudien.DataKeys[e.NewSelectedIndex].Values["PK_iTudienID"].ToString());
            pnEdit.Visible = true;
            napForm(iTudienID);
        }

        protected void btnLuu_Click(object sender, EventArgs e)
        {
            SqlConnection cnQuanlyTudien = null;
            SqlCommand cmQuanlyTudien = null;
            
            try
            {
                // Khởi tạo các đối tượng
                cnQuanlyTudien = new SqlConnection(sCnn);
                cnQuanlyTudien.Open();
                if(btnLuu.CommandName.ToUpper()=="EDIT")
                {
                    cmQuanlyTudien = new SqlCommand("spTudien_updatebyID", cnQuanlyTudien);
                    cmQuanlyTudien.CommandType = CommandType.StoredProcedure;
                    int iTudienID = Convert.ToInt16(btnLuu.CommandArgument);
                    cmQuanlyTudien.Parameters.Add(new SqlParameter("@PK_iTudienID", iTudienID));
                    cmQuanlyTudien.Parameters.Add(new SqlParameter("@sTudien",txtTentudien.Text));
                }
                else{
                    cmQuanlyTudien = new SqlCommand("spTudien_insert", cnQuanlyTudien);
                    cmQuanlyTudien.CommandType = CommandType.StoredProcedure;
                    
                    cmQuanlyTudien.Parameters.Add(new SqlParameter("@sTudien", txtTentudien.Text));
                }
                cmQuanlyTudien.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                lblThongbao.Text = ex.Message;
            }
            finally
            {
                cnQuanlyTudien.Close();
                cnQuanlyTudien.Dispose();
                cmQuanlyTudien.Dispose();
            }
            // Nạp lại dữ liệu
            napDulieuGvTudien();
            pnEdit.Visible = false;
        }

        protected void btnBoqua_Click(object sender, EventArgs e)
        {
            pnEdit.Visible = false;
        }

        protected void lbtnThemmoi_Click(object sender, EventArgs e)
        {
            pnEdit.Visible = true;
            txtTentudien.Text = String.Empty;
            btnLuu.CommandName = "ADDNEW";
        }

        
    }
}